/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package co.uniminuto.park.controlador;

import co.uniminuto.park.clases.Estacionamiento;
import co.uniminuto.park.clases.Geolocalizacion;
import co.uniminuto.park.clases.Roles;
import co.uniminuto.park.clases.Usuario;
import co.uniminuto.park.dao.consultarRolDao;
import co.uniminuto.park.dao.consultarrEstacionamientoDao;
import co.uniminuto.park.dao.insertarEstacionamientoDao;
import co.uniminuto.park.dao.insertarUsuarioDao;
import java.util.ArrayList;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.bean.SessionScoped;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import org.bson.types.ObjectId;
import org.primefaces.model.map.DefaultMapModel;
import org.primefaces.model.map.LatLng;
import org.primefaces.model.map.MapModel;
import org.primefaces.model.map.Marker;

/**
 *
 * @author Esteban Rozo
 */
@ManagedBean
@ViewScoped
public class insertarUsuario {
private Usuario user;
private List<Roles> listaRoles;
private Roles rol;
private String id;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }


   



    public Roles getRol() {
        return rol;
    }

    public void setRol(Roles rol) {
        this.rol = rol;
    }



    public Usuario getUser() {
        return user;
    }

    public void setUser(Usuario user) {
        this.user = user;
    }

    public List<Roles> getListaRoles() {
        return listaRoles;
    }

    public void setListaRoles(List<Roles> listaRoles) {
        this.listaRoles = listaRoles;
    }

    
    private EstacionamientosLista getElementoApplication() {
        FacesContext cont = FacesContext.getCurrentInstance();
        return cont.getApplication().evaluateExpressionGet(cont, "#{elementoApplication}", EstacionamientosLista.class);
    }

    public insertarUsuario() {
        listaRoles= new ArrayList<Roles>();
        listaRoles=cargarRoles();
        user= new Usuario();
        id= "";
    }

    
    public void addMessage(FacesMessage message) {
        FacesContext.getCurrentInstance().addMessage(null, message);
    }

    public List<Roles> cargarRoles(){
    List<Roles> lista;
    consultarRolDao con = new consultarRolDao();
    lista= con.getRoles();
    return lista;
    }

    public void agregarUsuario(ActionEvent actionEvent){
        insertarUsuarioDao ins= new insertarUsuarioDao();
        consultarRolDao conRol= new consultarRolDao();
        Roles temRol= new Roles();
        temRol= conRol.getParqueaderosOne(this.id);
        this.user.setRol(temRol);
        ins.insertaUsuario(this.user);
          addMessage(new FacesMessage(FacesMessage.SEVERITY_INFO, "Usuario Agregado", "Se agrego el Usuario Exitosamente"));
       
    
    }
        
    
}
